<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>



<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.08">
<LINK rel="stylesheet" type="text/css" href="libman.css">
<TITLE>
The Constraint Handling Rules Library
</TITLE>
</HEAD>
<BODY >
<A HREF="libman038.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman052.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H1 CLASS="chapter"><A NAME="htoc79">Chapter&nbsp;8</A>&nbsp;&nbsp;The Constraint Handling Rules Library</H1>

<A NAME="chapchr"></A>
<A NAME="@default213"></A><BR>
<BR>
The <TT>ech</TT> library implements constraint handling rules
<A NAME="@default214"></A> (<FONT COLOR=purple>CHR</FONT>s)<A NAME="@default215"></A>,
which can be mixed with normal ECL<SUP><I>i</I></SUP>PS<SUP><I>e</I></SUP>code.
Several constraint handlers are
provided in example files in the directory <TT>ech</TT>.<BR>
<BR>
This library will replace the older <TT>chr</TT> library. 
In addition, there is now an experimental extended implementation of <FONT COLOR=purple>CHR</FONT>s. 
This extended implementation is faster than the existing <TT>chr</TT> library,
and contains some extensions and changes. This is described in 
section&nbsp;<A HREF="libman051.html#newchr">8.9</A>.<BR>
<BR>
<UL>
<LI><A HREF="libman043.html">Introduction</A>
<LI><A HREF="libman044.html">Using Constraint Handling Rules</A>
<LI><A HREF="libman045.html">Example Constraint Handlers</A>
<LI><A HREF="libman046.html">The <FONT COLOR=purple>CHR</FONT> Language</A>
<UL>
<LI><A HREF="libman046.html#toc39">Constraint Handling Rules</A>
<LI><A HREF="libman046.html#toc40">How <FONT COLOR=purple>CHR</FONT>s Work</A>
</UL>
<LI><A HREF="libman047.html">More on the <FONT COLOR=purple>CHR</FONT> Language</A>
<UL>
<LI><A HREF="libman047.html#toc41">Declarations</A>
<LI><A HREF="libman047.html#toc42">ECL<SUP><I>i</I></SUP>PS<SUP><I>e</I></SUP> Clauses</A>
<LI><A HREF="libman047.html#toc43">Options</A>
<LI><A HREF="libman047.html#toc44"><FONT COLOR=purple>CHR</FONT> Built-In Predicates</A>
</UL>
<LI><A HREF="libman048.html">Labeling</A>
<LI><A HREF="libman049.html">Writing Good <FONT COLOR=purple>CHR</FONT> Programs</A>
<UL>
<LI><A HREF="libman049.html#toc45">Choosing <FONT COLOR=purple>CHR</FONT>s</A>
<LI><A HREF="libman049.html#toc46">Optimizations</A>
</UL>
<LI><A HREF="libman050.html">Debugging <FONT COLOR=purple>CHR</FONT> Programs</A>
<UL>
<LI><A HREF="libman050.html#toc47">Using the Debugger</A>
</UL>
<LI><A HREF="libman051.html">The Extended <FONT COLOR=purple>CHR</FONT> Implementation</A>
<UL>
<LI><A HREF="libman051.html#toc48">Invoking the extended CHR library</A>
<LI><A HREF="libman051.html#toc49">Syntactic Differences</A>
<LI><A HREF="libman051.html#toc50">Compiling</A>
<LI><A HREF="libman051.html#toc51">Semantics</A>
<LI><A HREF="libman051.html#toc52">Options and Built-In Predicates</A>
<LI><A HREF="libman051.html#toc53">Compiler generated predicates</A>
</UL>
</UL>
<BR>
<BR>
<HR>
<A HREF="libman038.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="libman052.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
